package exame_05_06_2012;

import java.util.ArrayList;
import java.util.GregorianCalendar;

public class Tarefa implements Comparable<Tarefa> {

	private String descStringricao;

	private float prioridade;
	private ArrayList<String> participantes;
	private GregorianCalendar inicio;
	private GregorianCalendar fim;
	private boolean terminada;

	// 1
	public boolean activa() {
		GregorianCalendar dataActual = new GregorianCalendar();
		boolean aux = false;

		if (this.inicio.before(dataActual) && this.fim.after(dataActual)
				&& this.terminada == false) {
			aux = true;
		} else {
			aux = false;
		}
		return aux;
	}

	@Override
	protected Tarefa clone() {
		return this;
	}

	@Override
	public int compareTo(Tarefa o) {
		if (this.inicio.before(o.getInicio())) {
			return -1;
		} else if (this.inicio.after(o.getInicio())) {
			return -1;
		} else if (this.fim.before(o.getInicio())) {
			return -1;
		} else if (this.fim.after(o.getInicio())) {
			return -1;
		} else {
			return this.getDescStringricao().compareTo(o.getDescStringricao());
		}
	}

	public String getDescStringricao() {
		return this.descStringricao;
	}

	public GregorianCalendar getFim() {
		return this.fim;
	}

	public GregorianCalendar getInicio() {
		return this.inicio;
	}

	public ArrayList<String> getParticipantes() {
		return this.participantes;
	}

	public float getPrioridade() {
		return this.prioridade;
	}

	public boolean isTerminada() {
		return this.terminada;
	}

	public void setDescStringricao(String descStringricao) {
		this.descStringricao = descStringricao;
	}

	public void setFim(GregorianCalendar fim) {
		this.fim = fim;
	}

	public void setInicio(GregorianCalendar inicio) {
		this.inicio = inicio;
	}

	public void setParticipantes(ArrayList<String> participantes) {
		this.participantes = participantes;
	}

	public void setPrioridade(float prioridade) {
		this.prioridade = prioridade;
	}

	public void setTerminada(boolean terminada) {
		this.terminada = terminada;
	}
}
